import json

# 通过.json文件保存用户信息，实现登录注册
# 运行时判断文件夹和文件是否存在
# 如果不存在直接创建my_directory/users.json
# 如果存在，读取内容


import os

# 保存json文件的路径
file_path = "my_directory/users.json"
# 保存所有用户的字典
user_map = {}
# 判断目录是否存在
if not os.path.exists("my_directory"):
    # 不存在则创建
    os.mkdir("my_directory")
# 创建默认空json文件
if not os.path.exists(file_path):
    # 写入json文件
    # 将字典对象(json对象)保存到user.json文件中，默认只写文件名时，保存在当前脚本所在目录下
    # with open(要保存的文件路径,"w") as file:  表示以写入的形式读取文件
    with open(file_path, "w") as file:
        json.dump(user_map, file)
else:
    # 读取json文件
    # with open(要保存的文件路径,"r") as file:  表示以只读的形式读取文件
    with open("my_directory/users.json", "r") as file:
        user_map = json.load(file)

print("1.注册")
print("2.登录")
inp = int(input("请选择："))
if inp == 1:
    id = input("请输入编号")
    # 判断键是否存在
    if id not in user_map.keys():
        # 字典[编号]={}方式添加
        user_map[id] = {
            "name": input("请输入姓名"),
            "pwd": input("请输入密码"),
            "job": input("请输入职业")
        }
        # 使用最新的字典，写为json文件
        with open(file_path, "w") as file:
            json.dump(user_map, file)
        print("注册成功")
    else:
        print("该编号已存在,请直接登录")
elif inp == 2:
    id = input("请输入用户编号")
    user = user_map.get(id)
    if not user:
        print("该用户不存在")
    else:
        if input("请输入密码") == user['pwd']:
            print(f"欢迎{user['job']}{user['name']}")
        else:
            print("密码错误")
